var patterns = {};
patterns.username = /^[a-zA-Z0-9_-]{4,16}$/; //用户名正则，4到16位（字母，数字，下划线，减号）
patterns.password = /^[a-zA-Z0-9_-]{6,10}$/; //密码，6到10位（字母，数字，下划线，减号）
patterns.captcha = /^[a-zA-Z0-9]{4}$/; //验证码 4位

/*jquery validator 验证*/
$.extend($.validator.messages, {
    required: "这是必填字段",
    remote: "请修正此字段",
    email: "请输入有效的电子邮件地址",
    url: "请输入有效的网址",
    date: "请输入有效的日期",
    dateISO: "请输入有效的日期 (YYYY-MM-DD)",
    number: "请输入有效的数字",
    digits: "只能输入数字",
    creditcard: "请输入有效的信用卡号码",
    equalTo: "你的输入不相同",
    extension: "请输入有效的后缀",
    maxlength: $.validator.format("最多可以输入 {0} 个字符"),
    minlength: $.validator.format("最少要输入 {0} 个字符"),
    rangelength: $.validator.format("输入长度应在 {0} 到 {1} 之间"),
    range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
    max: $.validator.format("请输入不大于 {0} 的数值"),
    min: $.validator.format("请输入不小于 {0} 的数值")
});

$.validator.addMethod("username",function(value,element,params){
    return this.optional(element) || (patterns.username.test(value));
},"用户名应为4到16位（字母，数字，下划线，减号）");

$.validator.addMethod("password",function(value,element,params){
    return this.optional(element) || (patterns.password.test(value));
},"密码应为6到10位（字母，数字，下划线，减号）");

$.validator.addMethod("length",function(value,element,params){
    return this.optional(element) || (value.length === params);
},"输入长度应为 {0}");



//框架ajax
$._ajax =  function(obj, middleware)  {
    var deferred = $.Deferred();
    lightyear.loading('show');  // 显示
    $.ajax({
        url: obj.url || '/interface',
        data: obj.data || {},
        dataType: obj.dataType || 'json',
        type: obj.type || 'get',
    }).success(function (data) {
        lightyear.loading('hide');  // 隐藏
        if(data === 'login'){
            if(window.self === window.top){
                window.location.href = '/login/index.html';
            }else{
                window.top.location.href = '/login/index.html';
            }
        }
        if (data) {
            deferred.resolve(data)
        } else {
            deferred.reject(data);
        }
    }).error(function (err) {
        lightyear.loading('hide');  // 隐藏
        deferred.reject(err);
    });

    // 添加中间件
    if(!middleware) {
        middleware = function(){};
    }
    //先执行middleware(data)
    return deferred.done(middleware).fail(function (err) {
        console.log(err);
});
};